<script>
    /* 
    数组去重方法
        1.建立新的空数组  对原数组进行遍历  对新数组中没有的数  加入  有则不加入
        2.第一个，与老数组后面的值进行对比，删除相等的数，内部循环k--
        3.利用对象的属性不相同，定义一个空对象和空数组，进行一次for循环，判断obj是否有该属性，没有则添加属性将数组的值放入新数组中
        4.先进行排序，判断相邻的是否相等,比较后的进行删除 ，得到去重后的数组
        5.使用indexOf和forEach
        6.es6 使用Set Array.from(new Set())     [...new Set()]

    
    
    
    */
    // 1.
    const arr = [1,1, 2, 1, 2, 3, 5, 4, 6]
    const newArr = []
// 1
    // for (let i = 0; i < arr.length; i++) {
    //     let isPush = true;
    //     for (let j = 0; j < newArr.length; j++) {
    //         if (arr[i] == newArr[j]) {
    //             isPush = false;
    //             break;
    //         }
    //     }
    //     if(isPush){
    //         newArr.push(arr[i])
    //     }
    // }

// 2
// for(let i=0;i<arr.length;i++){

//     for(let k=i+1;k<arr.length;k++){
//         if(arr[i]==arr[k]){
//             arr.splice(k,1);
//             k--;
//         }
//     }
// }
// console.log(arr)

// 3.
// const obj ={};
// for(let i=0;i<arr.length;i++){
//     if(!obj[arr[i]]){
//         obj[arr[i]]=true;
//         newArr.push(arr[i]);
//     }
// }

// 4
// const sortArr = arr.sort((a,b)=>a-b);
// for(let i=0;i<sortArr.length;i++){
//     for(let j=i+1;j<sortArr.length;j++){
//         if(sortArr[i]===sortArr[j]){
//             sortArr.splice(j,1);
//             j--;
//         }
//     }
// }

// 5 最简单的方式
const arr1 = new Set(arr);
const arr2 = Array.from(new Set(arr));
const arr3 = [...new Set(arr)]


    console.log(arr1);
    console.log(arr2);
    console.log(arr3);


</script>